package struts2.sample02;

import org.apache.struts2.config.Result;

/**
 * 相変わらず標準出力に欧米の挨拶をかますだけのアクション。
 * 
 * Actionクラスにアノテーションを書いて、設定ファイル(struts.xml)の替わりにすることができる。
 * その場合、いくつかのルールに従わないといけない。
 * ・web.xmlのフィルター設定に、このクラスのパッケージ名を書いておく。
 * ・クラス名は「****Action」でないといけない。
 * ・設定ファイルの<result>タグに相当するアノテーションを書かないといけない。
 * ・アクションに対応するパスは、クラス名から末尾の「Action」を取り除いて
 *   先頭を小文字にしたのがパスになる。
 *   例）
 *     SayHelloAction => sayHello => http://localhost:8080/sample02/sayHello.action
 */
@Result("hello.jsp")
public class SayHelloAction {

	/**
	 * アクション実行メソッド。
	 * 
	 * アクションクラスはexecuteという名前のメソッドを実装してないといけない。
	 * またこいつは引数なしで戻り値の型はStringでないといけない。
	 */
    public String execute() {
    	
    	// 何がハローワールドだ
    	System.out.println("Hello World!!");
    	
    	// アクション実行の結果を文字列で返す。
    	// このメソッドが返した文字列を「Result」アノテーションから探して
    	// 対応するjspを決定する。
    	return "success";

    }

}
